Créer un projet git
Durant ces exercices nous allons utiliser Git en ligne de commande (sans interface graphique) : l'objectif est de pratiquer les différentes commandes de base git
Installer Git
git est déjà installé sur Linux et MacOS. Mais si ce n'est pas le cas (pour un linux léger par exemple), il suffit d'installer le paquet git, par exemple avec apt install git.
Sur windows on peut installer à partir du setup officiel (https://git-scm.com/download/win) ou avec Chocolatey. Certaine personnes utilisent la jolie app github mais attention à la capture...
Initialiser le dépôt
En ligne de commande créez le dossier de code
tp1_git.Chargez ce dossier avec VSCode.
Sur Linux : Si VSCode n'est pas installé : snap install --classic code
Pour lancer VSCode :
codeoucode mondossier/Créez un nouveau fichier Python dans ce dossier appelé
multiplication.py. Copiez-y le code suivant :
Cliquer pour afficher `multiplication.py` :
# Définit l'opération de multiplication
def multiplie(a, b):
return a * b
if __name__ == "__main__":
print("6 * 7 = ")
print(multiplie(a, b))
- Lancez
git status. Quel est le problème ? - Initialisez le dépot de code avec la commande
git init. - Utilisez ensuite
git statuspour voir l'état de votre dépôt.
Dire à Git de suivre un fichier
Pour le moment Git ne versionne aucun fichier du dépôt comme le confirme la commande git status.
- Utilisez
git add <nom_fichier>sur le fichier. Puis faites à nouveaugit status. Le fichier est passé à l'état suivi (tracked). - Créez un nouveau fichier et écrivez quelque chose à l'intérieur (ou copiez un fichier situé en dehors de ce dossier vers ce dossier).
- Faites
git statusà nouveau. Que s'est-il passé ?
Faire votre premier commit
- Faites
git statuspour constater que tous les fichiers sont non suivis sauf un. - Un commit est une version du code validée par un·e développeur/développeuse. Il faut donc que git sache qui vous êtes avant de faire un commit. Pour ce faire, utilisez :
git config --global user.name "<votre nom>"
git config --global user.email "<votre email>"
- Pour créer un commit on utilise la commande
git commit -m "<message_de_commit>"(commit signifie s'engager alors réfléchissez avant de lancer cette commande !). Utilisons le message"Ceci est mon premier commit"pour le premier commit d'un dépôt. Valider la version courante. - Lancez un
git statuspour voir l'état du dépôt. Que constate-t-on ? - Lancez
git logpour observer votre premier commit.
Commit de tous les fichiers
Si le dossier
__pycache__n'a pas été créé, créez le manuellement juste pour le TP un fichier :mkdir __pycache__; touch __pycache__/moncache.pycUtiliser
git addavec l'option-Apour ajouter tous les fichiers actuels de votre projet.Qu'affiche
git status?Lancez à nouveau
git commitavec un message adéquat.A quoi sert le dossier
__pycache__? Que faire avec ce dossier ?
Supprimer un fichier
Oh non ! Vous avez ajouté le dossier __pycache__ dans votre commit précédent 🙃
Ce ne serait pas correct de pousser sur Internet votre code en l'état !
- Supprimez le suivi du dossier
__pycache__avec la commandegit rm:- Quelles options sont nécessaires ? util
Lancez git rm --help pour les trouver.
Ignorer un fichier
Maintenant que nous avons supprimé ce dossier nous voulons éviter de l'ajouter accidentellement à un commit à l'avenir. Nous allons ignorer ce dossier.
- Ajoutez un fichier
.gitignoreet à la première ligne ajoutez__pycache__ - Ajoutez ce fichier au suivi.
- Ajoutez un commit avec le message "
ignore __pycache__" - Lancez le programme
multiplication.pyà nouveau. - Lancez
status. Que constate-t-on ?
Annuler un ou plusieurs commit
Le problème avec la suppression de __pycache__ de la partie précédente est qu'elle n'affecte que le dernier commit. Le dossier inutile __pycache__ encombre encore l'historique de notre dépôt.
Pour le constater, installez l'extension
Git Graphde VSCode.Explorer la fenêtre git graph en cliquant sur
Git Graphen haut à gauche de la fenêtre des fichiers.Regardez successivement le contenu des deux commits.
Pour corriger l'historique du dépôt nous aimerions revenir en arrière.
Utilisez
git resetavecHEAD~2pour revenir deux commits en arrière (nous parlerons deHEADplus tard).Faites
git status. Normalement vous devriez avoir un seul fichier non suivi.gitignore. Git vient de réinitialiser les ajouts des deux commits précédents.Constatez dans Git Graph que seul reste le premier commit qui est toujours là.
Ajouter et committez tous les fichiers non suivis du dépôt.
Vérifier que
__pycache__n'apparaît pas dans l'historique.
Exercices supplémentaires
Learn git branching
https://learngitbranching.js.org/?locale=fr_FR
- Séquence d'introduction
- Montée en puissance